home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 2
/
Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso
/
Aminet
/
gfx
/
pbm
/
texts.lha
/
README.AMIGA
< prev
next >
Wrap
Text File
|
1993-12-09
|
4KB
|
89 lines
BINARIES
--------
Amiga binaries are available from ftp.informatik.uni-oldenburg.de
[134.106.1.9], /pub/netpbm/amiga. AmiNet will probably carry them too,
look under /pub/aminet/gfx/pbm at your nearest AmiNet mirror.
COMPILATION
-----------
The Makefile.amiga files in the pbm, pgm, ppm and pnm subdirs are set up
for compilation with DICE (reg-version). Compilation requires about 2MB
RAM (4MB if you want to compile libtiff), 6MB of HD space, and takes about
45 minutes on a 25MHz 68030 (A2500/30). If you want to recompile with SAS/C
or GCC, you must edit pbmplus.h and the Makefiles. Compile the pbm stuff
first, then pgm, ppm, and pnm last. The tiff library is only needed for
tifftopnm and pnmtotiff.
The following symbols should be set in pbmplus.h:
A_SMALLSTACK
Moves large arrays off the stack into globals.
A_FRAGARRAY
with this define, pm_allocarray() tries to allocate an array row-by-row,
if the first malloc(all-in-one-big-chunk) fails. Useful for micros
without VM, where it is possible that there is enough memory, but it is
fragmented.
A_RGBENV
If this define is used, RGB_DB (see pbmplus.h) defines the name of an
an environment variable that holds the path&name of the X11 color names
file, instead of compiling a fixed path into the programs. So instead of
looking for e.g. "/usr/lib/X11/rgb.def", an environment variable (I took
"RGBDEF") is consulted for the path&name of the X11 names file.
A_STRERROR
if your library uses strerror() instead of sys_errlist[]
Here is a short explanations of compiler options used in the DICE Makefiles:
-O0 place object files in current dir, not temporary dir
-E xxx write error messages into file xxx
-T xxx use directory xxx for temporary files
-ms place strings constants in read-only code hunk
-mu unix-compat, if there are two definitions for the
same variable (at the same scope), merge them into one
-gs generate stack-checking code (see pbmplus.h: whenever available
stack falls below _stack_fudge, allocate a new stack of size
_stack_chunk)
-proto strict prototype checking
-mRR functions take their args in registers (requires full prototyping)
-mD large data model (absolute addressing instead of A4-rel)
-mC large code model (absolute addressing instead of PC-rel)
-r generate "pure" executable (no -mD and -mC allowed)
-S alternate library section naming (used for link libs only)
Naming conventions in the Makefiles:
RLIBP?M small data library, args in registers
RLLIBP?M large data library, args in registers
SLIBP?M small data library, args on stack
SLLIB?M large data library, args on stack
RALLCFLAGS options to compile register-args executables
SALLCFLAGS options to compile stack-args executables
BINS small data executables, register-args
LBINS large data executables, register-args
SBINS small data executables, stack-args
SLBINS large data executables, stack-args
MATHBINS \
LMATHBINS \ same as above, but need floating-point
SMATHBINS / version of printf/scanf (link with math-lib)
SLMATHBINS /
I tried to use small data/reg-args whenever possible. Some programs
had to be compiled with large data, and some with stack-args or the
compiler would complain. If you are not using DICE, you might want to
try to compile these with small data/reg-args first, maybe your compiler
accepts this.
-Ingo
email: Ingo.Wilken@informatik.uni-oldenburg.de